using System;

namespace CloudStorage.API.Blobs
{
	/// <summary>
	/// Blob properties for a Cloud Storage Blob
	/// </summary>
	public interface IBlobInfo : ICloudVersionable
	{
		/// <summary>
		/// Name of the blob
		/// </summary>
		string Name { get; }

		/// <summary>
		/// The Uri for the Blob
		/// </summary>
		Uri Address { get; }

		/// <summary>
		/// Content encoding of the blob if it set, null otherwise.
		/// </summary>
		string ContentEncoding { get; set; }

		/// <summary>
		/// Content BlobContainerFactory of the blob if it is set, null otherwise.
		/// </summary>
		string ContentType { get; set; }

		/// <summary>
		/// Content Language of the blob if it is set, null otherwise.
		/// </summary>
		string ContentLanguage { get; set; }

		/// <summary>
		/// The length of the blob content, null otherwise.
		/// </summary>
		long ContentLength { get; }
	}
}